package com.sry.blog.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sry.blog.enums.Exist;
import com.sry.blog.sys.model.User;

import java.util.List;

/**
 * <p>
 * InnoDB free: 10240 kB 服务类
 * </p>
 *
 * @author SR_Y
 * @since 2022-01-05
 */
public interface UserService extends IService<User> {

    /**
     * 修改信息
     *
     * @param user
     * @return
     */
    boolean creatOrUpdate(User user);

    /**
     * 逻辑删除(实际是修改isdelete)
     *
     * @param idList
     * @return
     */
    boolean delete(List<Integer> idList);


    /**
     * 分页查询
     *
     * @param pageSize
     * @param pageNum
     * @return
     */
    Page<User> list(Integer pageNum,Integer pageSize);

    /**
     * 条件查询
     *
     * @param user
     * @param pageSize
     * @param pageNum
     * @return
     */
    Page<User> lists(User user, Integer pageNum,Integer pageSize);

    /**
     * 查询单个
     *
     * @param id
     * @return
     */
    User getOneById(Integer id);

    /**
     * 获取用户(username,phone,email)
     *
     * @param user
     * @return
     */
    User getUser(User user);

    /**
     *
     * @param user
     * @return
     */
    Exist isExist(User user);


}
